<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>


        // 函数：
        //    概念：把实现一个功能的代码块放在一起，套一个function 起个名字
        //    特点：封装性，复用性，调用性
        //    分类：
        //        系统函数 ， 自定义函数
        //        具名函数，赋值式函数，匿名函数
        //        事件驱动型函数   事件触发时，由系统帮我们调用了这个函数
        //    函数封装的步骤 
        //        考虑形参和返回值
        //        怎么实现
        //        注释！！！！！！ (功能，参数说明，返回值说明，思路说明和注意事项)

        //    形参和实参   
        //        形参本质是局部变量
        //        形参和实参不是对等的  ---- 个数不对等
        //    作用域
        //        全局
        //        局部
        //    预编译
        //        1 var 
        //        2 具名函数
        //        3 在函数内部也有预编译
        //        4 就近原则(全局i和局部i)  
        //     递归  ---- 循环    ---- 倒着解决问题
        //        

        // 数组
        //    概念：存储一组数据(建议存储同一种数据类型)
        //    声明方式 
        //    数据类型 typeof   Array.isArray()
        //    属性  长度length   下标index 
        //    改变  长度改变  值改变
        //    遍历
        //    数组的基本方法  4个

        // 短路操作
        //    短路赋值 ||  ---- 给函数的参数一个默认值
        //    短路运算 &&  代替if

        document.onclick = function (){}


    </script>
    
</body>
</html>